Å Óòòòöò Óò Çççç Blockinø¹çöööòøø Èöóöñññòò¸ëý×øøñ׸äòòùùùù× Òò Ôôðð Blockinøøóò×´ççèëä䵸aeóúúññö ¾¼¼¾
نویسندگان
چکیده
Ownership Types for Safe Programming: Preventing Data Ra es and Deadlo ks Chandrasekhar Boyapati Robert Lee Martin Rinard Laboratory for Computer S ien e Massa husetts Institute of Te hnology 200 Te hnology Square, Cambridge, MA 02139 f handra,rhlee,rinardg l s.mit.edu Abstra t This paper presents a new stati type system for multithreaded programs; well-typed programs in our system are guaranteed to be free of data ra es and deadlo ks. Our type system allows programmers to partition the lo ks into a xed number of equivalen e lasses and spe ify a partial order among the equivalen e lasses. The type he ker then stati ally veri es that whenever a thread holds more than one lo k, the thread a quires the lo ks in the des ending order. Our system also allows programmers to use re ursive treebased data stru tures to des ribe the partial order. For example, programmers an spe ify that nodes in a tree must be lo ked in the tree order. Our system allows mutations to the data stru ture that hange the partial order at runtime. The type he ker stati ally veri es that the mutations do not introdu e y les in the partial order, and that the hanging of the partial order does not lead to deadlo ks. We do not know of any other sound stati system for preventing deadlo ks that allows hanges to the partial order at runtime. Our system uses a variant of ownership types to prevent data ra es and deadlo ks. Ownership types provide a stati ally enfor eable way of spe ifying obje t en apsulation. Ownership types are useful for preventing data ra es and deadlo ks be ause the lo k that prote ts an obje t an also prote t its en apsulated obje ts. This paper des ribes how to use our type system to stati ally enfor e obje t en apsulation as well as prevent data ra es and deadlo ks. The paper also ontains a detailed dis ussion of di erent ownership type systems and the en apsulation guarantees they provide. Categories and Subje t Des riptors D.3.3 [Programming Languages℄: Language Constru ts; D.2.4 [Software Engineering℄: Program Veri ation General Terms Languages, Veri ation
منابع مشابه
Å Óòòòöò Óò Çççç Blockinø¹çöööòøø Èöóöñññòò¸ëý×øøñ׸äòòùùùù× Òò Ôôðð Blockinøøóò×´ççèëä䵸ç Blockinøóóö ¾¼¼½
متن کامل
×××ò Òò Áñôððññòøøøøóò Óó Ò Òóññðý Øø Blockinøøóò Ë Blockinññ Ò Ëë Blockinø Áòøöù××óò Øø Blockinøøóò Ëý×øøñ
متن کامل
Åóð Óö ×ýò Blockinöóòóù× Êêê Blockinøøú Ëý×øøñ× Òò Ø× Ôôðð Blockin Blockinøøóò Øó Ëë Blockinùöö Åå××××× Ìööò×ññ×××óò
متن کامل
ذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002